home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / modula2 / 64 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  3.0 KB

  1. Path: news.sfu.ca!priest
  2. From: priest@news.sfu.ca (David Priest)
  3. Newsgroups: comp.lang.modula2
  4. Subject: Text-windows support --- care to write one? <grin>
  5. Date: 11 Jan 1996 18:22:30 GMT
  6. Organization: Simon Fraser University
  7. Message-ID: <4d3kh6$5l8@morgoth.sfu.ca>
  8. NNTP-Posting-Host: fraser.sfu.ca
  9. X-Newsreader: NN version 6.5.0 #5 (NOV)
  10.  
  11. I'm quite taken with Modula-2; it really works about the way my brain 
  12. thinks when programming.  Much better than Turbo Pascal, which has a 
  13. clumsy definition/implementation model.  I play around using FST Modula-2 
  14. (I don't program much at all, and it's usually pretty frivolous stuff) 
  15. and love the way that objects have been implemented in it.
  16.  
  17. Anyway, my need now is for a decent text-based windowing system.  I've 
  18. written OO code that auto-detects video hardware and then handles "virtual 
  19. windows" quite nicely, with extremely quick screen updates and allowing 
  20. "buried" windows to update without botching the overlying windows.  It 
  21. was pretty slick, I* think.
  22.  
  23. But as soon as I tried to go beyond that, I bogged down.  I want to 
  24. support frames, titles, buttons, scrollbars, sizing, moving, etc.  And 
  25. then I got really ambitious, and figured the ideal system would be a 
  26. background multitasking one that supported the mouse!  Why, you could 
  27. define a window object, point it at a block of allocated memory 
  28. containing the text, and let this almost-standalone unit take care of the 
  29. scrolling while the main program got on with more important things!  And, 
  30. hey, if the user clicks on something that the unit can't deal with 
  31. (perhaps an "OK" button?) it could send a signal to the main program, and 
  32. let it take care of it.   This sort of gets into a hypercard type of 
  33. environment, really.  And, hey, why not allow a resource file to contain 
  34. the hard data -- most dialogues, menus, etc are static; one could have a 
  35. support proggie to lay out these resources, then save them to the file.  
  36. That way the main proggie doesn't need to sweat those details!
  37.  
  38. Well, as you can see, I'm way beyond mere casual hacking with these 
  39. ideas.  I'm pretty sure I can implement them, though it'd take me 
  40. forever.  The biggest stumbling block for me is actually defining the 
  41. object outline... I don't know how to best describe the implementation!
  42.  
  43. Anyway, the short and long of it is that if someone would like to work 
  44. with me on this, I'm more than open to the idea!  I'd actually like to 
  45. see this progress to the point that FST-Modula2 can become an integrated 
  46. development environment a la' Turbo Pascal... but with a smarter editor, 
  47. that "knows" how to title variables intelligently (read Code Complete by 
  48. Steve McConnell), knows when you've made the .def and .mod incompatible, 
  49. etc.  I think it would _not_ be difficult to develop a freeware Modula-2 
  50. cross-platform programming system that includes enough IDE and library 
  51. support to _really_ attract attention.
  52.  
  53. EMail me at priest@sfu.ca if you have any comments, or post them here.  
  54. Perhaps some real programmers could get involved, and we'll come up with 
  55. something of quality.  :-)
  56.